import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'


import '@/icons' // icon
import '@/permission' // permission control
// 引入完整的 Element
// 需要注意的是，样式文件需要单独引入。
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

// 图片上传组件
import UploadImg from '@/components/UploadImg'

Vue.use(ElementUI);
// 引入完整的 Element

// npm install vue-quill-editor --save 安装命令
// vue-quill-editor 富文本 插件
import VueQuillEditor from 'vue-quill-editor'
 
// require styles
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
 
Vue.use(VueQuillEditor, /* { default global options } */)
// vue-quill-editor 富文本 插件

// 注册全局组件，实现图片上传
Vue.component('upload-img', UploadImg)

/** v-imgError="defaultAvatar" 自定义指令解决图片加载错误, defaultAvatar 为导入的默认图片 */
Vue.directive('imgError', (el, bindings) => {
  // console.log(el.src, bindings.value);
  if (!el.src) {
    el.src = bindings.value
  }
  el.onerror = () => {
    el.src = bindings.value
  }
})

Vue.config.productionTip = false

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
